/* Grid */
ul.grid {
    display: flex;
    flex-wrap: wrap;
}

ul.grid > li {
    flex: 0 1 25%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

ul.grid.third > li {
    flex: 0 1 33.33%;
}

ul.grid.active > li:hover {
    cursor: pointer;
    opacity: 0.8;
}

ul.grid.active > li i {
    font-size: 4rem;
    color: white;
}

ul.grid.active > li span {
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    font-size: 1.5rem;
    padding: 0 0.5rem;
    line-height: 2.5rem;
    border-radius: 0.3rem 0 0;
}

ul.grid > li:after {
    content: '';
    display: block;
    padding-bottom: 100%;
}